int
bool
强制转换:
bool(int) 只有0是False
bool(tuple) 只有空元组是False
str
list
tuple
总结
常见的类型转换
# 字符串数字互转
#列表元组互转
#其它转布尔值为False,只有0 "" [] ()
习题
nums = [11,22,33,44]
for i in range(0,len(nums)):
nums[i] = str(nums[i])
result = '_'.join(nums)
print(result)
#注意''.join(字符串/容器内元素必须是字符串)
请表示:姓名张三 / 年龄18 / 性别男 / 爱好武术
#A同学
name = '张三'
age = 18
gender = '男'
hobby = '武术'
#B同学
data = '张三,18,男,武术'
#C同学
data_list = ['张三','18','男','武术']
请输出:他的名字叫张三,他的年龄是18岁,性别男爱好武术。
#如果用以上方式虽然可以储存信息,但当信息量成千上万时就不可取了。
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'} #键值
info['name']
inof['age']
userinfo = {'username':'alex','password':'123'}
user = input('请输入用户名:')
pwd = input('请输入密码:')
if userinfo['username'] == user and userinfo['password']== pwd:
print('登陆成功')
else:
print('用户名或密码错误')
字典是为了帮助用户去表示一个事物的信息(事物有多个属性),在py3.6版本之前的字典都是无序的。
独有功能
.keys() 获取字典中所有的键。
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
info.keys() #获取所有的键
for item in info.keys():
print(item)
.values() 获取字典中所有的值。
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
info.values() #获取所有的值
for item in info.values():
print(item)
.items() 获取字典中所有的键值对。
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
info.items() #获取所有的键值对
for v1,v2 in info.items():
print(v1,v2)
公共功能
len
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
print(len(info))
索引
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
info['name']
info['age']
切片【无】
步长【无】
for
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
for i in info:
print(info) #循环字典本身只取键
for item in info.keys():
print(v1,v2)
for item in info.values():
print(v1,v2)
for v1,v2 in info.items():
print(v1,v2)
修改(存在就修改,不存在就增加)
#改值
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
info['age'] = 19
print(info)
#改键
无法直接改只能通过先删除后再添加间接改。
del info['hobby']
info['a'] = b
删除
info = {'name':'张三','age':18,'gender':'男','hobby':'武术'}
del info['name']
print(info)
lst = [1,2,3,4,5,6]
for i in lst:
lst.append(7) # 这样写法就会一直持续添加7
print(lst)
lst = [1,2,3,4,5,6]
n = 0
for i in lst:
lst.append(7)
print(lst)
n += 1
if n > 11:
break
print(lst)
lst = [11, 22, 33, 44]
for i in lst:
lst.remove(i)
print(lst)
结果:
[22, 44]
#分析原因: for的运行过程中会有一个指针来记录当前循环的元素是哪一个, 一开始这个指针指向第0个,然后获取到第0个元素,紧接着删除第0个元素;这个时候原来的第一个元素会自动的变成第0个,然后指针向后移动一次指向第1个元素。这时原来的1已经变成了0, 也就不会被删除了。
lst = [11, 22, 33, 44]
for i in range(0,len(lst)):
del lst[i]
print(lst)
结果:
报错
#分析原因:当i=2的时候,列表只剩[22,44],但是这个时候删除的是lst[2],肯定报错啊。
lst = [11, 22, 33, 44]
for i in lst:
lst.pop()
print(lst)
结果:
[11, 22]
#分析原因:当i=lst[2]的时候,列表只剩[11,22],表示循环结束。
#结合range和pop成功完成
lst = [11, 22, 33, 44]
for i in range(len(lst)):
lst.pop()
print(lst)
#用另一个列表来记录你要删除的内容,然后实现循环删除
lst = [11, 22, 33, 44]
lst2 = []
for i in lst:
lst2.append(i)
print(lst2)
for i in lst2:
lst.remove(i)
print(lst)
原文:https://www.cnblogs.com/elliottwave/p/12521783.html