python基础--基本数据类型和操作
2017-12-01 本文已影响0人
sandy测试路
string类型
a = "WAbc"
# 字符串小写、大写、首字母大写,这些函数都不会改变原字符串
a.lower() # wabc
a.upper() # WABC
a.capitalize() # Wabc
list类型
- 遍历数组元素
# 直接遍历数组元素
a = [1,2,3,4,5]
for elem in a:
print(a) # 输出数组元素,1 2 3 4 5
# 根据下标遍历数组元素
a = [1,4, 3, 5, 2]
for i in range(len(a)):
print(a[i])
# 把list变成类似于java的下标-元素遍历,使用`enumerate()`
a = enumerate(["A", "B", "C"])
b = dict(a) # {0: 'A', 1: 'B', 2: 'C'}
for k in b:
print(b[k]) # "A" "B" "C"
- 数组元素截取
- a[start, end],数组元素截取包括start下标不包括end下标
a = [1,2,3,4,5]
a[0] #1
a[-1] # 5
a[0:1] # 1
a[0:2] # [1, 2]
- 对数组元素进行排序
-
list.sort(key=None, reverse=False)
,会改变原数组 -
sorted(iterable, key=None, reverse=False)
,不会改变原数组,并且对dict和tuple都有效。key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较,此函数将在每个元素比较前被调用。
a = [1, 2, 4, 3]
# 数组元素按照从小到大的顺序
a.sort() # 返回:[1, 2, 3, 4]
print(a) # 返回:[1, 2, 3, 4],a.sort()会改变原数组
3.1 一个数组元素,按照组内数组元素的重复次数,由高到低排序
-
list.count(elem)
,元素出现的次数
# 例如:[1, 2, 1, 2, 5, 3, 3, 1, 1, 2]--->[1, 2, 3, 5]
a = [1, 2, 1, 2, 5, 3, 3, 1, 1, 2]
b = set(a)
result = {}
for i in a: # 这里直接对原数组进行循环,最终也没有重复输出数据,是因为result是dict类型他的值是覆盖的
result[i] = a.count(i) # result结果中相同元素重复的次数不会多次输出,是因为dict类型他的key值是覆盖的
for i in b:
result[i] = a.count(i)
print(result) # {1: 4, 2: 3, 5: 1, 3: 2}
# 对于结果按照value值排序
3.2 一个数组,按照元素字母从小到大排序,忽略大小写
a = ["andy", "Bob", "Anna", "bob"]
sorted(a) # ['Anna', 'Bob', 'andy', 'bob']
sorted(a, key=lambda x: x.lower()) # ['andy', 'Anna', 'Bob', 'bob']
- 对数组元素进行去重
#方法1,使用set()函数
a = [1, 2, 3, 5, 6, 7, 1, 2, 3]
b = set(a) # {1, 2, 3, 5, 6, 7}
list(b) # [1, 2, 3, 5, 6, 7]
# 方法2,定义一个数组
c = []
for i in a:
if i not in c:
c.append(i)
print(c)
dict字典类型
- 遍历字典的key值:
a = {'a': '1', 'b': '2', 'c': '3'}
for key in a:
print(key) # 输出: a b c
a.keys() # dict_keys(['a', 'b', 'c'])
for key in a.keys():
print(key) # 同上,输出: a b c
- 遍历字典的key,value值:
a.items() # dict_items([('a', '1'), ('b', '2'), ('c', '3')])
for key,value in a.items():
print(key+':'+value)
for (key,value) in a.items():
print(key+':'+value) # 效果同上
for kv in a.items():
print(kv)
打印结果:
('a', '1')
('b', '2')
- 遍历字典的value值:
a.values() # dict_values(['1', '2', '3'])
for value in a.values():
print(value)
- 字典按照key或者value值排序:
- sorted函数中的可迭代对象不要用字典d,那样只能迭代出的字典d的键。要用d.items()才可迭代出字典的键值对
a = {"b": 1, "a": 2}
# dict按照key值排序
sorted(a.items(), key=lambda x: x[0]) # [('a', 2), ('b', 1)]
# dict按照value值排序
sorted(a.items(), key=lambda x: x[1]) # [('b', 1), ('a', 2)]